import 'dart:convert';

main(){
  // 实例化对象
  User user = User(name: "张三", age: 18,sex: "男");
  // 打印对象属性
  print(user.name);
  print(user.age);
  print(user.sex);
  /**
   * 方式一
   */
  // 定义一个JSON字符串
  String jsonStr = '{"name":"李四","age":30,"sex":"男"}';
  // 解析JSON字符串,将其转换为Map
  var jsonMap = json.decode(jsonStr);
  /**
   * 方式二
   */
  // 定义一个Map,模拟从网络获取的JSON数据
  Map jsonMap1 = {"name":"王五","age":18,"sex":"女"};
  // 实例化对象,传入Map
  User user2 = User.fromJson(jsonMap);
  // 打印对象属性
  print(user2.name);
  print(user2.age);
  print(user2.sex);

}
// 用户信息
class User{
  late String name;
  late int age;
  late String sex;
  // 构造函数
  User({required this.name,required this.age,required this.sex});
  //命名构造函数,传入Map
  User.fromJson(Map jsonMap){
    name = jsonMap["name"];
    age = jsonMap["age"];
    sex = jsonMap["sex"];
  }

}
